package com.xwj.service.Interface;

import com.github.pagehelper.PageInfo;
import com.xwj.dto.OrderInfoDto;
import com.xwj.entity.OrderDetailEntity;
import com.xwj.entity.RaOrder;

import java.util.List;
import java.util.concurrent.Future;

public interface RaOrderService {

    List<RaOrder> findAllOrder();

    List<RaOrder> findOrderByProperty(OrderInfoDto orderInfoDto);

    PageInfo<RaOrder> findAllOrderWithPage(int pageIndex, int pageSize);

    PageInfo<RaOrder> findOrderByPropertyWithPage(int pageIndex, int pageSize, OrderInfoDto orderInfoDto);

    PageInfo<RaOrder> frontFindByPropertyWithPage(int pageIndex, int pageSize, OrderInfoDto orderInfoDto);

    RaOrder findOrderById(String id);

    List<RaOrder> findOrderByLandlordId(String landlordId);

    List<RaOrder> findOrderByTenantId(String tenantId);

    List<RaOrder> findOrderByStatus(int status);

    PageInfo<RaOrder> findOrderByLandlordIdWithPage(int pageIndex, int pageSize, String landlordId);

    PageInfo<RaOrder> findOrderByTenantIdWithPage(int pageIndex, int pageSize, String tenantId);

    PageInfo<RaOrder> findOrderByStatusWithPage(int pageIndex, int pageSize, int status);

    int addOneOrder(RaOrder raOrder);

    Future<Boolean> addOneOrderSync(RaOrder raOrder);

    int updateProperty(OrderInfoDto orderInfoDto);

    int updateDetail(String id, OrderDetailEntity orderDetailEntity);

    Future<Boolean> updateDetailSync(String id, OrderDetailEntity orderDetailEntity);

    int deleteByIds(List<String> list);

    Future<Boolean> updateDelflag(List<String> list);

}
